package com.api.demo.dto.sync;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @description: 同步发票DTO
 * @author: yanming
 * @createDate: 2023/04/10 13:50
 */
@Data
public class SyncDataInvoiceV2DTO implements Serializable {

    private static final long serialVersionUID = 2605055616970286449L;

    @ApiModelProperty(value = "发票ID")
    private String invoiceId;

    @ApiModelProperty(value = "运营商ID")
    private Long platformId;

    @ApiModelProperty(value = "发票类型")
    @NotBlank(message = "发票类型不能为空")
    private String invoiceType;

    @ApiModelProperty(value = "发票方式")
    @NotBlank(message = "发票方式不能为空")
    private String invoiceWay;

    @ApiModelProperty(value = "发票类目名称")
    @NotBlank(message = "发票类目名称不能为空")
    private String invoiceCatalogName;

    @ApiModelProperty(value = "申请开票时间")
    @NotBlank(message = "申请开票时间不能为空")
    private String invoiceDate;

    @ApiModelProperty(value = "创建时间")
    @NotBlank(message = "创建时间不能为空")
    private String createDate;

    @ApiModelProperty(value = "开票总金额")
    @NotBlank()
    private BigDecimal invoiceTotalMoney;

    @ApiModelProperty(value = "发票订单明细")
    private List<SyncDataInvoiceV2InfoDTO> syncDataInvoiceV2InfoDTOs;
}